import request from "@/utils/request";

const BIGCAP_BASE_URL = "/api/v1/bigcap";

const BigcapAPI = {
    /** 获取大盘底分页数据 */
    getPage(queryParams?: BigcapPageQuery) {
        return request<any, PageResult<BigcapPageVO[]>>({
            url: `${BIGCAP_BASE_URL}/page`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 获取大盘底表单数据
     *
     * @param id 大盘底ID
     * @returns 大盘底表单数据
     */
    getFormData(id: number) {
        return request<any, BigcapForm>({
            url: `${BIGCAP_BASE_URL}/${id}/form`,
            method: "get",
        });
    },

    /**
     *  添加大盘底
     *
     *  @param data 大盘底表单数据
     */
    add(data: BigcapForm) {
        return request({
            url: `${BIGCAP_BASE_URL}`,
            method: "post",
            data: data,
        });
    },

    /**
     * 更新大盘底
     *
     * @param id 大盘底ID
     * @param data 大盘底表单数据
     */
     update(id: number, data: BigcapForm) {
        return request({
            url: `${BIGCAP_BASE_URL}/${id}`,
            method: "put",
            data: data,
        });
    },

    /**
     * 批量删除大盘底，多个以英文逗号(,)分割
     *
     * @param ids 大盘底ID字符串，多个以英文逗号(,)分割
     */
     deleteByIds(ids: string) {
        return request({
            url: `${BIGCAP_BASE_URL}/${ids}`,
            method: "delete",
        });
    }
}

export default BigcapAPI;

/** 大盘底分页查询参数 */
export interface BigcapPageQuery extends PageQuery {
    /** 主键ID */
    id?: number;
    /** 日期 */
    date?: [string, string];
}

/** 大盘底表单对象 */
export interface BigcapForm {
    /** 主键ID */
    id?:  number;
    /** 日期 */
    date?:  Date;
    /** 流量指数 */
    trafficIndex?:  number;
    /** 流量指数同比(年) */
    trafficIndexYoy?:  string;
    /** 访客指数 */
    visitorIndex?:  number;
    /** 访客指数同比(年) */
    visitorIndexYoy?:  string;
    /** 关注人数 */
    followers?:  number;
    /** 关注人数同比(年) */
    followersYoy?:  string;
    /** 加购人数 */
    addToCart?:  number;
    /** 加购人数同比(年) */
    addToCartYoy?:  string;
    /** 类目搜索指数 */
    categorySearchIndex?:  number;
    /** 类目搜索指数同比(年) */
    categorySearchIndexYoy?:  string;
    /** 类目点击指数 */
    categoryClickIndex?:  number;
    /** 类目点击指数同比(年) */
    categoryClickIndexYoy?:  string;
    /** 搜索点击率 */
    clickRate?:  number;
    /** 搜索点击率同比(年) */
    clickRateYoy?:  string;
    /** 成交金额指数 */
    transactionAmountIndex?:  number;
    /** 成交金额指数同比(年) */
    transactionAmountIndexYoy?:  string;
    /** 成交件数指数 */
    transactionVolumeIndex?:  number;
    /** 成交件数指数同比(年) */
    transactionVolumeIndexYoy?:  string;
    /** 成交转化率 */
    conversionRate?:  number;
    /** 成交转化率同比(年) */
    conversionRateYoy?:  string;
    /** 成交客单价 */
    customerPrice?:  number;
    /** 成交客单价同比(年) */
    customerPriceYoy?:  string;
    /** 品牌数 */
    brandCount?:  number;
    /** 品牌数同比(年) */
    brandCountYoy?:  string;
    /** 被访问品牌数 */
    visitedBrandCount?:  number;
    /** 被访问品牌数同比(年) */
    visitedBrandCountYoy?:  string;
    /** 动销品牌数 */
    activeBrandCount?:  number;
    /** 动销品牌数同比(年) */
    activeBrandCountYoy?:  string;
    /** 店铺数 */
    storeCount?:  number;
    /** 店铺数同比(年) */
    storeCountYoy?:  string;
    /** 被访问店铺数 */
    visitedStoreCount?:  number;
    /** 被访问店铺数同比(年) */
    visitedStoreCountYoy?:  string;
    /** 动销店铺数 */
    activeStoreCount?:  number;
    /** 动销店铺数同比(年) */
    activeStoreCountYoy?:  string;
    /** 被访问商品数 */
    visitedProductCount?:  number;
    /** 被访问商品数同比(年) */
    visitedProductCountYoy?:  string;
    /** 动销商品数 */
    activeProductCount?:  number;
    /** 动销商品数同比(年) */
    activeProductCountYoy?:  string;
}

/** 大盘底分页对象 */
export interface BigcapPageVO {
    /** 主键ID */
    id?: number;
    /** 日期 */
    date?: Date;
    /** 流量指数 */
    trafficIndex?: number;
    /** 流量指数同比(年) */
    trafficIndexYoy?: string;
    /** 访客指数 */
    visitorIndex?: number;
    /** 访客指数同比(年) */
    visitorIndexYoy?: string;
    /** 关注人数 */
    followers?: number;
    /** 关注人数同比(年) */
    followersYoy?: string;
    /** 加购人数 */
    addToCart?: number;
    /** 加购人数同比(年) */
    addToCartYoy?: string;
    /** 类目搜索指数 */
    categorySearchIndex?: number;
    /** 类目搜索指数同比(年) */
    categorySearchIndexYoy?: string;
    /** 类目点击指数 */
    categoryClickIndex?: number;
    /** 类目点击指数同比(年) */
    categoryClickIndexYoy?: string;
    /** 搜索点击率 */
    clickRate?: number;
    /** 搜索点击率同比(年) */
    clickRateYoy?: string;
    /** 成交金额指数 */
    transactionAmountIndex?: number;
    /** 成交金额指数同比(年) */
    transactionAmountIndexYoy?: string;
    /** 成交件数指数 */
    transactionVolumeIndex?: number;
    /** 成交件数指数同比(年) */
    transactionVolumeIndexYoy?: string;
    /** 成交转化率 */
    conversionRate?: number;
    /** 成交转化率同比(年) */
    conversionRateYoy?: string;
    /** 成交客单价 */
    customerPrice?: number;
    /** 成交客单价同比(年) */
    customerPriceYoy?: string;
    /** 品牌数 */
    brandCount?: number;
    /** 品牌数同比(年) */
    brandCountYoy?: string;
    /** 被访问品牌数 */
    visitedBrandCount?: number;
    /** 被访问品牌数同比(年) */
    visitedBrandCountYoy?: string;
    /** 动销品牌数 */
    activeBrandCount?: number;
    /** 动销品牌数同比(年) */
    activeBrandCountYoy?: string;
    /** 店铺数 */
    storeCount?: number;
    /** 店铺数同比(年) */
    storeCountYoy?: string;
    /** 被访问店铺数 */
    visitedStoreCount?: number;
    /** 被访问店铺数同比(年) */
    visitedStoreCountYoy?: string;
    /** 动销店铺数 */
    activeStoreCount?: number;
    /** 动销店铺数同比(年) */
    activeStoreCountYoy?: string;
    /** 被访问商品数 */
    visitedProductCount?: number;
    /** 被访问商品数同比(年) */
    visitedProductCountYoy?: string;
    /** 动销商品数 */
    activeProductCount?: number;
    /** 动销商品数同比(年) */
    activeProductCountYoy?: string;
}
